Kombinace

Otázka od: Martin Pisarik

25. 11. 2004 18:05

Ahoj,

mam tento problem. Mam v databazi x promennych, kazda z nich muze nabyvat
ruznych poctu hodnot. Jednotlive kombinace techto hodnot klasifikuji (3
hodnoceni) Informaci o tom jak se jednotlive kombinace klasifikuji potrebuju
nejak rozumne ulozit do databaze, tak aby je uzivatel mohl "prijemne"
editovat.

Puvodne jsem mel 3 promenne, kde kazda z nich mohla nabyvat 6 hodnot, resil
jsem to tabulkou o 4 fieldech (kazdy pro jednu promennou + klasifikace) a
mel jsem tam tolik zaznamu kolik bylo kombinaci a ke kazde prirazenu
klasifikaci.

Jenze situace ze zmenila a nevim kolik bude promennych a kolika hodnot
mohou nabyvat a nerad bych dynamicky vyrabel tabulku s promennym poctem
fieldu.

Napada nekoho z vas neco?

Dik.



Odpovedá: Martin Cajbik

25. 11. 2004 18:37

Najjednoduchsie asi cez master - detail t.j.

Master: cislo kombinacie a klasifikacia
Id Klasifikacia
1 1
2 1
3 5
4 2

Detail: hodnota premennej pre danu klasifikaciu
MasterId Premenna Hodnota
1 1 1
1 2 1
1 3 2
2 1 2
2 2 1
2 3 1
...

Martin Pisarik wrote:
> Ahoj,
>
> mam tento problem. Mam v databazi x promennych, kazda z nich muze nabyvat
> ruznych poctu hodnot. Jednotlive kombinace techto hodnot klasifikuji (3
> hodnoceni) Informaci o tom jak se jednotlive kombinace klasifikuji potrebuju
> nejak rozumne ulozit do databaze, tak aby je uzivatel mohl "prijemne"
> editovat.
>
> Puvodne jsem mel 3 promenne, kde kazda z nich mohla nabyvat 6 hodnot, resil
> jsem to tabulkou o 4 fieldech (kazdy pro jednu promennou + klasifikace) a
> mel jsem tam tolik zaznamu kolik bylo kombinaci a ke kazde prirazenu
> klasifikaci.
>
> Jenze situace ze zmenila a nevim kolik bude promennych a kolika hodnot
> mohou nabyvat a nerad bych dynamicky vyrabel tabulku s promennym poctem
> fieldu.
>
> Napada nekoho z vas neco?
>
> Dik.
>
>
>
>
> .
>

--
Martin Cajbik
SCT s.r.o. Kosice

Odpovedá: BRCKO Peter

25. 11. 2004 18:41

> Jenze situace ze zmenila a nevim kolik bude promennych a
> kolika hodnot
> mohou nabyvat a nerad bych dynamicky vyrabel tabulku s
> promennym poctem
> fieldu.
>
> Napada nekoho z vas neco?
>

N:M = dve tabulky = Master - Detail

PBR.


Odpovedá: Martin Radvansky

25. 11. 2004 19:33

Dobry den,

BP> N:M = dve tabulky = Master - Detail

no dovolim si poznamenat ze pro relaci N:M je potreba 3 tabulek
zapomel jste na spojovaci tabulku pro vytvoreni vazby N:M.
Aby jste byl prave schopen dosahnou vazby 1:N M:1
a tim te univerzalnosti.

--
S pozdravem,
 Martin Radvansky
 delphiconf@radvansky.net


Odpovedá: Lauko Stefan

25. 11. 2004 22:29

----- Original Message -----
From: "Martin Pisarik" <martin.pisarik@seznam.cz>
Sent: Thursday, November 25, 2004 6:05 PM
>
> Jenze situace ze zmenila a nevim kolik bude promennych a kolika hodnot
> mohou nabyvat a nerad bych dynamicky vyrabel tabulku s promennym poctem
> fieldu.


Stacila by jedna tabulka:

ID UID owner data...
1 1 0
2 2 0
3 3 0
4 4 0
5 5 1
6 6 1
7 7 2
8 8 3
9 9 4
10 10 9
11 11 4
atd...

ID je Primary
UID je jedinecny kluc
owner ukazuje na svojho vlastnika ktorym je UID
owner = 0 je koren

0-|
   |-1------|
   | |
   |-2-| |-5
   | |-7 |
   | |-6
   |-3-|
   | |-8
   |
   |-4-|
   | |-9-|
   | | |-10
         |
         |-11

Takto je mozne vytvorit akukolvek stromovu strukturu, ktoru master - detail
tazko dosiahne.
Uz len domysliet dalsie spracovanie... 
Lauko.


Odpovedá: Martin Radvansky

25. 11. 2004 23:07

Dobry den,

LS> Takto je mozne vytvorit akukolvek stromovu strukturu, ktoru master - detail
LS> tazko dosiahne.
LS> Uz len domysliet dalsie spracovanie... 

No prave ta posledni poznamka je dost dulezita. Spacovani stromove
stuktury neni nikterak trivialni vec a casove je dost narocna, takze
proc strom, kdyz to jde pres 3 tabulky? Jednoduche a proverene reseni
na x prikladech kdekoliv. Snadne dotazovani pouhe join.

--
S pozdravem,
 Martin Radvansky, MCAD .NET
 delphiconf@radvansky.net